home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / share / nikto / plugins / nikto_passfiles.plugin < prev    next >
Text File  |  2005-10-19  |  2KB  |  82 lines

  1. #VERSION,1.03
  2. #LASTMOD,07.24.2004
  3. # (c) 2001-2005 cirt.net, All Rights Reserved
  4. # Password file checks
  5.  
  6. # This software is distributed under the terms of the GPL, which should have been received
  7. # with a copy of this software in the "LICENSE.txt" file.
  8.  
  9. # this checks for random password files
  10.  
  11. sub nikto_passfiles
  12. {
  13.  if ($CLI{mutate} !~ /2/) { return; }
  14.  
  15.  my @DIRS=qw(/ /admin/ /clients/ /pass/ /password/ /passwords/ /store/ /users/ /access/ /members/ /private/ /ccbill/ /dmr/ /mastergate/ /dmr/ /epoch/ /netbilling/ /webcash/ /wwwjoin/ /etc/security/);
  16.  # if we got anything from the robots.txt check...
  17.  
  18.  my @t=split(/ /,$CONFIG{PASSWORDDIRS}); 
  19.  foreach my $d (@t) 
  20.   { 
  21.    my $skip=0;
  22.    for (my $i=0;$i<=$#DIRS;$i++) { if ($DIRS[$i] eq $d) { $skip=1; last; } }  # already have it
  23.    if (!$skip) { push(@DIRS,$d); }
  24.   }  
  25.   
  26.  my @PFILES=qw(admins clients pass password passwords passwd passwd.adjunct store users .htpasswd .passwd);
  27.  my @EXTS=qw(asp dat data dbc dbf exe htm html htx ini lst txt xml php php3 phtml);
  28.  
  29.  my $FINAL=();
  30.  my $mctr=0;
  31.  
  32.  foreach $dir ( @DIRS )
  33.  { 
  34.   foreach $file ( @PFILES )
  35.   {
  36.    foreach $ext ( @EXTS )
  37.     {
  38.      my $f="$file\.$ext";
  39.      $f=LW::utils_normalize_uri($f);
  40.      $mctr++;
  41.      $ITEMCOUNT++;
  42.      $FILES{$ITEMCOUNT}="$dir$f";
  43.      $INFOS{$ITEMCOUNT}="Found via password test mutate.";
  44.      $RESPS{$ITEMCOUNT}=200;
  45.      $METHD{$ITEMCOUNT}="GET";
  46.      
  47.      # w/o file extension:
  48.      my $f2="$file";
  49.      $f=LW::utils_normalize_uri($f);
  50.      $mctr++;
  51.      $ITEMCOUNT++;
  52.      $FILES{$ITEMCOUNT}="$dir$f2";
  53.      $INFOS{$ITEMCOUNT}="Found via password test mutate.";
  54.      $RESPS{$ITEMCOUNT}=200;
  55.      $METHD{$ITEMCOUNT}="GET";
  56.  
  57.      foreach my $cgi (@CGIDIRS) {
  58.       $mctr++;
  59.       $ITEMCOUNT++;
  60.       $FILES{$ITEMCOUNT}=LW::utils_normalize_uri("$cgi$dir$f");
  61.       $INFOS{$ITEMCOUNT}="Found via password test mutate.";
  62.       $RESPS{$ITEMCOUNT}=200;
  63.       $METHD{$ITEMCOUNT}="GET";
  64.  
  65.       # w/o file extension
  66.       $mctr++;
  67.       $ITEMCOUNT++;
  68.       $FILES{$ITEMCOUNT}=LW::utils_normalize_uri("$cgi$dir$f2");
  69.       $INFOS{$ITEMCOUNT}="Found via password test mutate.";
  70.       $RESPS{$ITEMCOUNT}=200;
  71.       $METHD{$ITEMCOUNT}="GET";
  72.   
  73.      }
  74.     }
  75.   }
  76.  }
  77.  
  78. nprint("- $mctr password file checks loaded","v");
  79. }
  80.  
  81. 1;
  82.